/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entidades;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 * @author dvasquez
 */
@Entity
@Table(name = "medicionesHilo")
@NamedQueries({@NamedQuery(name = "MedicionesHilo.findAll", query = "SELECT m FROM MedicionesHilo m"), @NamedQuery(name = "MedicionesHilo.findByNumero", query = "SELECT m FROM MedicionesHilo m WHERE m.medicionesHiloPK.numero = :numero"), @NamedQuery(name = "MedicionesHilo.findById", query = "SELECT m FROM MedicionesHilo m WHERE m.medicionesHiloPK.id = :id"), @NamedQuery(name = "MedicionesHilo.findByKmInicio", query = "SELECT m FROM MedicionesHilo m WHERE m.kmInicio = :kmInicio"), @NamedQuery(name = "MedicionesHilo.findByKmFinal", query = "SELECT m FROM MedicionesHilo m WHERE m.kmFinal = :kmFinal"), @NamedQuery(name = "MedicionesHilo.findByAltos", query = "SELECT m FROM MedicionesHilo m WHERE m.altos = :altos"), @NamedQuery(name = "MedicionesHilo.findByBajos", query = "SELECT m FROM MedicionesHilo m WHERE m.bajos = :bajos"), @NamedQuery(name = "MedicionesHilo.findByAreaAfectada", query = "SELECT m FROM MedicionesHilo m WHERE m.areaAfectada = :areaAfectada"), @NamedQuery(name = "MedicionesHilo.findByObservaciones", query = "SELECT m FROM MedicionesHilo m WHERE m.observaciones = :observaciones"), @NamedQuery(name = "MedicionesHilo.findByLongitud", query = "SELECT m FROM MedicionesHilo m WHERE m.longitud = :longitud"), @NamedQuery(name = "MedicionesHilo.findByLongExt", query = "SELECT m FROM MedicionesHilo m WHERE m.longExt = :longExt")})
public class MedicionesHilo implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected MedicionesHiloPK medicionesHiloPK;
    @Column(name = "kmInicio")
    private Integer kmInicio;
    @Column(name = "kmFinal")
    private Integer kmFinal;
    @Column(name = "altos")
    private Integer altos;
    @Column(name = "bajos")
    private Integer bajos;
    @Column(name = "areaAfectada")
    private Integer areaAfectada;
    @Column(name = "observaciones")
    private String observaciones;
    @Column(name = "longitud")
    private Integer longitud;
    @Column(name = "longExt")
    private Integer longExt;
    @JoinColumn(name = "ID", referencedColumnName = "ID", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Hilo hilo;

    public MedicionesHilo() {
    }

    public MedicionesHilo(MedicionesHiloPK medicionesHiloPK) {
        this.medicionesHiloPK = medicionesHiloPK;
    }

    public MedicionesHilo(int numero, int id) {
        this.medicionesHiloPK = new MedicionesHiloPK(numero, id);
    }

    public MedicionesHiloPK getMedicionesHiloPK() {
        return medicionesHiloPK;
    }

    public void setMedicionesHiloPK(MedicionesHiloPK medicionesHiloPK) {
        this.medicionesHiloPK = medicionesHiloPK;
    }

    public Integer getKmInicio() {
        return kmInicio;
    }

    public void setKmInicio(Integer kmInicio) {
        this.kmInicio = kmInicio;
    }

    public Integer getKmFinal() {
        return kmFinal;
    }

    public void setKmFinal(Integer kmFinal) {
        this.kmFinal = kmFinal;
    }

    public Integer getAltos() {
        return altos;
    }

    public void setAltos(Integer altos) {
        this.altos = altos;
    }

    public Integer getBajos() {
        return bajos;
    }

    public void setBajos(Integer bajos) {
        this.bajos = bajos;
    }

    public Integer getAreaAfectada() {
        return areaAfectada;
    }

    public void setAreaAfectada(Integer areaAfectada) {
        this.areaAfectada = areaAfectada;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public Integer getLongitud() {
        return longitud;
    }

    public void setLongitud(Integer longitud) {
        this.longitud = longitud;
    }

    public Integer getLongExt() {
        return longExt;
    }

    public void setLongExt(Integer longExt) {
        this.longExt = longExt;
    }

    public Hilo getHilo() {
        return hilo;
    }

    public void setHilo(Hilo hilo) {
        this.hilo = hilo;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (medicionesHiloPK != null ? medicionesHiloPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof MedicionesHilo)) {
            return false;
        }
        MedicionesHilo other = (MedicionesHilo) object;
        if ((this.medicionesHiloPK == null && other.medicionesHiloPK != null) || (this.medicionesHiloPK != null && !this.medicionesHiloPK.equals(other.medicionesHiloPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidades.MedicionesHilo[medicionesHiloPK=" + medicionesHiloPK + "]";
    }

}
